package com.lintf.bot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lintf.bot.domain.BotGroupInvite;
import com.lintf.bot.domain.dto.BotGroupInviteAddDTO;
import com.lintf.bot.domain.dto.BotGroupInviteListDTO;
import com.lintf.bot.domain.dto.BotGroupInviteUpdateDTO;
import com.lintf.bot.domain.vo.BotGroupInviteListVo;
import com.lintf.common.core.domain.entity.SysUser;

import java.util.List;

/**
 * @author lintf
 * @description 针对表【bot_group_invite】的数据库操作Service
 * @createDate 2024-03-13 12:57:24
 */
public interface IBotGroupInviteService extends IService<BotGroupInvite> {

    List<BotGroupInviteListVo> list(BotGroupInviteListDTO dto);

    /**
     * 检测是否发起过申请
     *
     * @param dto
     * @return
     */
    int getOneOfReview(BotGroupInviteListDTO dto);

    /**
     * 获取分组成员列表--分组详情
     *
     * @param dto
     * @return
     */
    List<SysUser> getOneOfUser(BotGroupInviteListDTO dto);

    /**
     * 获取分组成员信息--校验、推送
     *
     * @param dto
     * @return
     */
    List<SysUser> getGroupOfUser(BotGroupInviteListDTO dto);

    void add(BotGroupInviteAddDTO dto);

    void update(BotGroupInviteUpdateDTO dto);

    void remove(BotGroupInviteUpdateDTO dto);
}
